The evolution of information technology over the last decades has led to the creation of increasingly powerful computer systems, making individuals and businesses more productive by automating key tasks and processes. The benefit of automation, however, has come at a price of increasing complexity of the computer systems themselves, which have developed from single machines to modular systems and networks of subsystems. At the core of many of the most complex computer systems are database systems. Many aspects of the environment as part of which a database system performs its tasks cannot be anticipated by the architects of the database system. They have instead to be dealt with by database run-time tuning considering a dynamically changing workload and surrounding software and hardware specifics.
Tuning complex database systems can be difficult and time-consuming. For example, some database systems such as DB2 may have hundreds of configuration parameters that must be set correctly for the system to perform optimally. In addition, the actual physical data model in the database provides many different options to optimize database statement executions. Also, client applications accessing the database can be subject to a set of potential tuning measures with regard to their database access. Skilled database technology professionals are required to configure the system, judging performance based on possibly thousands of performance indicators of the system, interpreting them and taking corrective measures.
The Oracle Tuning Pack (http://www.oracle.com/technology/products/oem/pdf/TP—9iR2_FO.pdf) is a set of applications that provides automated database analysis and tuning. The Tuning Pack identifies opportunities to increase database performance by tuning database instance settings, indexes, SQL, and space usage. Proactive database tuning with the Tuning Pack can increase system responsiveness and reduce the cost of database maintenance.
DB Tuning Expert (http://www.softtreetech.com/dbtools/) is a tool for those who are responsible for the operation, maintenance, and performance of an Oracle database server, helping to identify database performance problems. With a few mouse clicks, database performance and organization diagnostic tests can be run and a comprehensive report provided on the existing performance problems along with expert recommendations for solving found problems and avoiding them in the future.
U.S. Pat. No. 6,871,163 discloses methods and systems for behavior-based adaptation of computer systems. Rules are received that specify data of the computer system to be recorded and data of the computer system to be summarized for evaluation. The method includes recording data as specified by the rules, and performing an evaluation of the data recorded. The evaluation includes identifying a change to the computer system and determining whether the change will increase the efficiency of the computer system. The method includes, when the evaluation indicates that the change will increase the efficiency of the computer system, proposing the change.
A common trait frequently found in state of the art technology is that tuning logic is built into the product and cannot be deployed separately. Thus enhancing the tuning solution with third party or customer tuning knowledge is very difficult or even impossible.